import { S } from '../../s';
import { IPSDEFormItem } from './ipsdeform-item';
import { IPSDEFormItemEx } from './ipsdeform-item-ex';
import { PSDEEditFormItemImpl } from './psdeedit-form-item-impl';

export class PSDEEditFormItemExImpl
  extends PSDEEditFormItemImpl
  implements IPSDEFormItemEx
{
  protected psdeformitems: IPSDEFormItem[];
  getPSDEFormItems(): IPSDEFormItem[] | null {
    return (
      this.psdeformitems ||
      (this.psdeformitems = this.fillChildListModel(
        this.M.getPSDEFormItems,
        S._b6,
      ) as IPSDEFormItem[])
    );
  }

  findPSDEFormItem(objKey: any): IPSDEFormItem | null {
    return this.getPSModel5(
      S._b6,
      this.getPSDEFormItems(),
      objKey,
    ) as IPSDEFormItem;
  }

  get compositeItem(): boolean {
    return this.M.compositeItem;
  }
  get cls(): string {
    return 'PSDEEditFormItemExImpl';
  }
  instanceof(cls: string): boolean {
    if (cls == S._b8) return true;
    return super.instanceof(cls);
  }
}
